<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>使用函数定义组件</title>
</head>

<body>
    <div id="app"></div>
</body>

<script src="../js/react.development.js"></script>
<script src="../js/react-dom.development.js"></script>
<script src="../js/babel.min.js"></script>

<script type="text/babel">
    // 1.创建一个函数，首字母必须是大写
    function MyComponent(){
        console.log(this); 
        // 这里的this是undefined，因为babel将jsx翻译成js后开启了严格模式，严格模式下禁止将自定义函数中的this指向window
        return <h2>这是用函数定义的组件，适用于简单组件的定义</h2>
    }
    // 2.将组件渲染到页面中
    ReactDOM.render(<MyComponent/>,document.getElementById("app"))

    /*
        执行ReactDOM.render(<MyComponent/>... 之后，发生了什么？
            1.react解析组件标签找到了MyComponent组件
            2.发现MyComponent组件是使用函数定义的，则调用这个方法，将虚拟DOM转为真实DOM渲染到页面中
    */
</script>

</html>